home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / ACORNUSERS / EMULATOR / STEM / !STem / Documents / SetUp < prev   
Text File  |  1998-04-25  |  33KB  |  731 lines

  1.  
  2.                              How To Set Up !STem
  3.                             =====================
  4.  
  5.  
  6. The text in this file contains useful information about how to configure and
  7. use STem. I would advise first time users to read as much of it as possible,
  8. since it explains some of the problems that may be encountered, and also the
  9. limitations of the emulator.
  10.  
  11.  
  12. What Is STem
  13. ============
  14. STem is an Atari ST emulator for Acorn RISC OS computers. It consists of two
  15. separate, but related programs. There is the configuration program which is
  16. multi-tasking and runs on the desktop, and there is the emulator which is
  17. single-tasking and does not run on the desktop.
  18.  
  19. In fact, the emulator can run without the configuration program, but then the
  20. configuration has to be specified as a series of command line options, which is
  21. not very user friendly.
  22.  
  23. It is hoped that eventually, the configuration program will be incorporated into
  24. the emulator. This will bring a number of benefits, but mainly the possibility
  25. that the emulator will become multi-tasking as well.
  26.  
  27.  
  28. Minimum Requirements
  29. ====================
  30. In order to be able to run STem you will need:
  31.   • A computer with at least an ARM610 processor (StrongARM recommended)
  32.   • RISC OS version 3.50 or greater
  33.   • 1 to 5 Mbytes of free memory
  34.   • 1Mbyte of video ram (optional, but strongly recommended)
  35.   • A TOS image (see the 'TOS Images' section)
  36.   • Some disk images (see the 'Disk Images' section)
  37.   • Shared C Library module (version 3.75 or greater)
  38.  
  39. I cannot understate the importance of using a StrongARM processor when using
  40. STem. I'm afraid it really does need a top-end Acorn machine to do the program
  41. any justice.
  42.  
  43.  
  44. Installation
  45. ============
  46. Copy the !STem application to a directory on a hard disk (it will probably run
  47. from a floppy disk, but this is not recommended). The directory should not be
  48. too far from the root directory, due to a limitation of 256 characters for path 
  49. names.
  50.  
  51. !STem can operate from read-only filing systems, such as locked hard disks, or
  52. even CD-ROMS, although you will need to place writable disk images in a
  53. different location (see the 'Disk Images' section).
  54.  
  55.  
  56. Configuring & Running STem
  57. ==========================
  58. To run STem double click on the !STem application in a filer window. Provided
  59. that there is enough free memory (48K is sufficient), and the necessary modules
  60. are present, the STem configuration program will load onto the icon bar.
  61.  
  62. Just about everything in this configuration program is able to provide
  63. interactive help. To make use of this feature you will need to have a program
  64. such as !Help or !BubbleHlp loaded as well.
  65.  
  66. Clicking with the middle mouse button on the STem icon on the icon bar will
  67. cause a menu to be opened. The menu has the options 'Info' and 'Quit'. These
  68. should be self explanatory, so I won't explain them any further. Incidentally,
  69. if you have web access, clicking on the name field in the info window will
  70. *hopefully* take you to the STem web site.
  71.  
  72. Clicking with the left mouse button on the STem icon will cause the
  73. configuration window to open. The configuration window is split into four parts:
  74.  
  75.   The pane at the top allows several groups of settings to be maintained at
  76.   once. New groups can be added, and old groups deleted using the 'New' and
  77.   'Delete' buttons. A minimum of 1, and a maximum of 8 settings groups can exist
  78.   at any one time.
  79.   The name of the currently selected group is shown, and can be edited by
  80.   clicking on it. The name is limited to a maximum of 11 characters.
  81.   Next to the name is a button, which when clicked on, will display a complete
  82.   list of all the currently defined settings groups. Choosing an item from the
  83.   list will cause that group to be displayed.
  84.  
  85.   The pane on the left, which lists the various parts of the emulator which can
  86.   be configured. Selecting one of these options will cause the contents of the
  87.   pane on the right to change.
  88.  
  89.   The pane on the right (as mentioned above) expands on a single topic, and
  90.   lists either a series of option buttons or a series of radio buttons.
  91.   Click on a radio or option button to change the configuration for the current
  92.   settings group.
  93.  
  94.   Finally, there are a series of buttons at the bottom of the window. Clicking
  95.   on the 'Save' button will cause all the currently defined settings groups to
  96.   be saved (inside the !STem application). The 'Cancel' button will close the
  97.   configuration window, and the previously saved settings groups will be
  98.   restored. The 'Start' button will start the emulator using the currently
  99.   selected settings group.
  100.  
  101.  
  102. Command Line Options
  103. ====================
  104. The emulator can be run from the command line, provided that the !STem
  105. application has been seen (i.e. booted) by the filer. Just type 'STem' at the
  106. star prompt, proceeded by any of the following command options:
  107.  
  108. -blitter
  109.   This will enable blitter chip emulation, and by default it is not selected.
  110.   See the 'Blitter Chip' section for further details.
  111.  
  112. -clock
  113.   This will enable emulation of the Mega-ST real-time clock, and by default it
  114.   is not selected. See the 'Real-Time Clock' section for further details.
  115.  
  116. -colour
  117.   The Atari ST has hardware for detecting the monitor type. This option (which
  118.   is the default) will cause a colour monitor to be detected. See the 'Graphics
  119.   Systems' section for further details.
  120.  
  121. -dma
  122.   This option will enable emulation of the STe dma chip, which allows the
  123.   playback of sampled sound without using the YM2149 chip (and hence without
  124.   using very much processor time). By default, dma playback is disabled.
  125.   Note: STem cannot output any sound yet, so this option is not very useful.
  126.  
  127. -debug
  128.   This option will enable the production of a text file called
  129.   '<STem$Dir>.debug' when the emulator is quit. The file contains details about
  130.   the internal status of the emulator, and I may ask you to send it to me if
  131.   there is a problem.
  132.   By default this option is not selected, and you should not normally need to
  133.   enable it.
  134.  
  135. -ecolour
  136.   This is the same as '-colour', except that the graphics system will be based
  137.   on the Atari STe, rather than the Atari ST. See the 'Graphics Systems' section
  138.   for further details.
  139.  
  140. -emono
  141.   This is the same as '-mono', except that the graphics system will be based
  142.   on the Atari STe, rather than the Atari ST. See the 'Graphics Systems' section
  143.   for further details.
  144.  
  145. -help
  146.   This will display a help page showing all the command options available, and
  147.   the current version number of the emulator. The emulator will stop when this
  148.   option is used.
  149.  
  150. -joysticks
  151.   This will enable the detection and use of up to 2 joysticks. It is disabled by
  152.   default. See the 'Joysticks' section for further details.
  153.  
  154. -mc#####
  155.   This will allow emulation of different processors, but is rather redundant at
  156.   the moment, as only the Motorola 68000 is fully supported. Some features of
  157.   the 68010 and 68020 are partially implemented, but it will be some time
  158.   before they are complete. See the 'Microprocessor' section for further
  159.   details.
  160.  
  161. -mono
  162.   The Atari ST has hardware for detecting the monitor type. This option will
  163.   cause a monochrome monitor to be detected. See the 'Graphics Systems' section
  164.   for further details.
  165.  
  166. -ram####
  167.   See the 'Memory' section for further details.
  168.  
  169. -savescreen
  170.   Enabling this will cause the screen to be saved as a sprite when the emulator
  171.   is quit. It is disabled by default. The sprite will be called 'screendump' and
  172.   the file will be saved as 'screen' in the currently selected directory. The
  173.   sprite will be the same size as the entire Acorn screen, which may be larger
  174.   than the Atari screen. The implementation of this feature is likely to change
  175.   in future.
  176.  
  177. -tos###
  178.   See the 'TOS Images' section for further details.
  179.  
  180. -ym2149
  181.   This will enable the production of sound using the YM2149 sound chip. Sound
  182.   production is disabled by default.
  183.   Note: STem cannot output any sound yet, so this option will have no effect.
  184.  
  185. Invalid command line options will produce an error message, and the help page
  186. will be displayed. The emulator will then stop.
  187.  
  188.  
  189. TOS Images
  190. ==========
  191. The Atari operating system is known as 'TOS', and STem will not run without a
  192. copy of it. If you own a real Atari ST you can make a legal copy of it's
  193. operating system, using one of the many programs available on the Internet.
  194. Alternatively, you can down-load an illegal TOS image, also from the Internet.
  195.  
  196. There are various different versions of TOS available, but not all of them will
  197. work with STem. The following table provides a summary of the current situation:
  198.  
  199.            Version    Size        Status         DMA Playback Required
  200.           =========  ======  =================  =======================
  201.             1.00      192K    works              optional
  202.             1.02      192K    works              optional
  203.             1.04      192K    works              optional
  204.             1.06      256K    works              yes
  205.             1.62      256K    works              yes
  206.             2.05      256K    sometimes works    yes
  207.             2.06      256K    works              optional
  208.             4.04      256K    doesn't work       unknown
  209.  
  210. Any versions not listed here will definitely not work. The size of TOS images
  211. must exactly match the value given above, otherwise STem will not load it.
  212.  
  213. Once you have obtained a TOS image, copy the file to a suitable place on your
  214. hard disk - the suggested location is inside the 'TOSImages' directory in the
  215. !STem application (SHIFT double-click on the !STem application to open it). The
  216. filetype is not important, and only read access is required.
  217.  
  218. You will then need to tell STem the location of the TOS image, and this can be
  219. done from the configuration program by selecting the 'TOS Image' section. A box
  220. will then appear, into which you can type the path. You can also drag the icon
  221. from a filer window into the box, to automatically set it's path.
  222.  
  223. Alternatively, the path of the TOS image can be set from the command line by
  224. entering the following:
  225.  
  226.       *Set STem$TOSImage [path]
  227.  
  228. where [path] is replaced with the location of the TOS image. The directory of
  229. the STem application can be referred to by using <STem$Dir>, so a complete
  230. example would be:
  231.  
  232.       *Set STem$TOSImage <STem$Dir>.TOSImages.TOS100
  233.  
  234. Note: when using the configuration program, any path set from the command line
  235. will be lost when the 'Start' button is clicked on.
  236.  
  237. The table above also shows whether 'DMA Playback' needs to be enabled. TOS
  238. versions 1.06, 1.62 and 2.05 *must* have the 'DMA Playback' option enabled,
  239. otherwise they will fail during the boot sequence. In all other TOS versions
  240. 'DMA Playback' is optional, and can be enabled if a particular piece of software
  241. requires it. See the 'DMA Playback' section for further details.
  242.  
  243. Note: there is an unknown problem with TOS 2.05 which means that it hardly ever
  244. manages to complete it's boot procedure. For this reason I do not recommend the
  245. use of this version of the operating system at the moment.
  246.  
  247. Note: due to certain timing restrictions imposed by the emulator, TOS 2.06 needs
  248. a minimum of 2 minutes to boot to the GEM desktop (this is regardless of the
  249. speed of the host computer). During the boot procedure the operating system will
  250. perform a memory check, as indicated by the words 'Memory Test:' appearing on
  251. the screen. Once this message has been displayed you *must* press the SPACE bar
  252. on the keyboard to abort the test. After about 120 seconds the GEM desktop
  253. should appear.
  254.  
  255.  
  256. Floppy Disk Images
  257. ==================
  258. Floppy disk images are just direct copies of Atari/DOS format floppy disks, and
  259. provide the most convenient method of loading/saving programs and data in the
  260. emulator.
  261.  
  262. You can create floppy disk images using the FDImage application (available from
  263. the STem web site). On RISC OS 3.00 or greater, it is possible to access the
  264. contents of disk images just like a normal directory, provided that the type of 
  265. the image file has been set to DOSDisc (&fc8).
  266.  
  267. To map in a floppy disk image using the configuration program, select the 'Disk
  268. Images' section, and enter the path and filename of the image file into either
  269. of the first two text boxes (these map to drives A and B - see note below). You
  270. can avoid typing in the path by dragging the file from a filer window into the
  271. appropriate text box.
  272.  
  273. Alternatively, the mapping can be set from the command line, using something
  274. like:
  275.  
  276.       *Set STem$DriveAImage [path]
  277.  or   *Set STem$DriveBImage [path]
  278.  
  279. where [path] is replaced with the path and filename of the image file.
  280.  
  281. The suggested location for disk images is inside the 'DiskImages' directory,
  282. within the STem application (SHIFT double-click on the !STem application to open
  283. it). In this case you can use the system variable <STem$Dir> to refer to the
  284. STem directory, e.g.:
  285.  
  286.       *Set STem$DriveAImage <STem$Dir>.DiskImages.[filename]
  287.  
  288. It is also possible to for STem to access the real floppy disk drive attached to
  289. the host computer. To do this you must set the path to 'ADFS::0.$', where the 0
  290. can be replaced with any valid floppy drive number.
  291. When using this you MUST ensure that the floppy drive only contains a DOS/Atari
  292. format disk. Acorn format disks will not work, and leaving them in the drive
  293. could lead to them being corrupted!
  294. The emulator cannot detect disk changes, so once it has been started you should
  295. not attempt to change the floppy disk, as this could also lead to disk
  296. corruption.
  297.  
  298. Note: on the Atari ST, up to 2 floppy drives can be connected, and these always
  299. occupy drive letters A and B. Thus you should only attempt to map floppy disks
  300. and images onto these drive letters. Even if you only map single disk or image,
  301. there will still be two drives A and B available, but they will both refer to
  302. the same device.
  303.  
  304. Whatever the source of the drive mapping, STem only permits sector based read
  305. and writes to take place. If a program attempts to read/write/format a track the
  306. result is undefined.
  307.  
  308. The read/write status of each drive mapping is determined when the emulator is
  309. first started, and cannot subsequently be changed. Disk images can be write
  310. protected by either changing the image file attributes to read-only, or by
  311. placing the image file inside a read-only filing system. Disks can be
  312. write-protected in the usual manner, i.e. with the plastic tab.
  313.  
  314. Limitations in the Atari operating system and it's DMA chip mean that only disks
  315. with a sector size of 512 bytes can be used. Attempting to use different sized
  316. sectors will cause STem to abort with an error.
  317.  
  318. Note: STem cannot detect disk changes, so to prevent possible data loss or
  319. corruption you should not attempt to use a different disk once the emulator has
  320. started. This applies even if you don't explicitly access the disk, since STem
  321. makes itself aware of all disks during it's initialisation phase.
  322.  
  323.  
  324. Hard Disk Images
  325. ================
  326. This feature is not available yet, but once implemented it will allow images of
  327. DOS format hard disks to be used just like a normal Atari hard drive.
  328.  
  329. On the Atari ST floppy drives always map to drives A and B. All other drive
  330. letters are available for use by other devices, and this includes hard disks.
  331.  
  332.  
  333. The Microprocessor
  334. ==================
  335. The Atari ST uses the Motorola 68000 processor. This is a 16/32 bit processor,
  336. which has a complex instruction set. Later Atari computers, such as the TT and
  337. Falcon, used more advanced members of the 68000 family.
  338.  
  339. STem can fully emulate the 68000 processor, and a limited amount of support is
  340. provided for the 68010 and 68020 - these last two processors are still under
  341. development, so don't be surprised if they don't work properly.
  342.  
  343. The processor can be selected from the 'Processor' section in the configuration
  344. program. Alternatively, the processor can be specified on the command line using
  345. '-mc68000', '-mc68010' or '-mc68020'.
  346.  
  347.  
  348. Memory
  349. ======
  350. The Atari ST could cope with a maximum of 4 Megabytes of RAM, although in those
  351. days, memory was very expensive, and you were lucky if you had more than ½
  352. Megabyte fitted.
  353.  
  354. STem can emulate an Atari ST with as little as ¼ Megabyte of RAM to it's maximum
  355. of 4 Megabytes. Obviously, you must have an appropriate amount of RAM fitted to
  356. your computer to make full use of this feature.
  357.  
  358. The size of the RAM can be specified in the 'RAM Size' section of the
  359. configuration program. Alternatively, from the command line, the options
  360. '-ram256', '-ram512', '-ram1024', '-ram2048' and '-ram4096' can be used to
  361. specify the size in Kilobytes. By default, ½ Megabyte of RAM will be used.
  362.  
  363.  
  364. Cartridge Images
  365. ================
  366. The Atari ST had a special port which allowed you to plug in 128Kbyte ROM
  367. cartridges. These cartridges were never a great success, and indeed, I have
  368. never seen one. However, just incase there are any still in use I have provided
  369. an option whereby an image of a cartridge can be loaded into the appropriate
  370. address space in the emulator.
  371.  
  372. It is up to you to figure out how to get the cartridge image in the first place,
  373. although for anyone with a limited amount of Atari programming experience this
  374. shouldn't be too difficult. The image file must be exactly 128Kbytes in length,
  375. and the filetype is not irrelevant. You will then need to set a system variable
  376. from the command line with the path of the image file:
  377.  
  378.       *Set STem$CartImage [path]
  379.  
  380. This must be done from the command line, because this feature has not yet been
  381. added to the configuration program.
  382.  
  383.  
  384. Keyboard Mappings
  385. =================
  386. The keyboards of the Atari ST and Acorn are different in both the number of keys
  387. present and their positions. This may make it difficult to use some programs,
  388. such as games, where the new layout makes it awkward to enter combinations or
  389. sequences of key presses.
  390.  
  391. When the emulator is started it tries to ascertain, from the TOS image, the type
  392. of keyboard which the original Atari would have had. It will then try to match
  393. up the keys of the Acorn keyboard with the appropriate Atari key. Sometimes
  394. conflicts occur (especially with the keys "£@#~\| ) which it is impossible to
  395. resolve.
  396.  
  397. Some of the possible key mappings are shown below. Which one applies to you
  398. depends on what combination of Acorn keyboard and TOS image you have:
  399.  
  400.               Acorn (UK Keyboard)      Atari (UK TOS)
  401.              =====================  =====================
  402.                F1-F10                 F1-F10
  403.                F11                    undefined
  404. NOTE--->       F12                    stops the emulator
  405.  
  406.                ESC                    ESC
  407.                TAB                    TAB
  408.                `¬¦                    `¬
  409.                -_=+                   -_=+
  410.                []{}                   []{}
  411.                ;:'@#~                 ;:'@#~
  412.                ,.<>/?                 ,.<>/?
  413.                \|                     \|
  414.                A-Z/a-z                A-Z/a-z
  415.                0-9                    0-9
  416.                SPACE                  SPACE
  417.                RETURN                 RETURN
  418.                BACKSPACE              BACKSPACE
  419.  
  420.                left SHIFT             left SHIFT
  421.                right SHIFT            right SHIFT
  422.                CAPS LOCK              CAPS LOCK
  423.                left & right CTRL      CONTROL
  424.                ALT & ALT GR           ALTERNATE
  425.  
  426. NOTE--->       PRINT SCRN/SYSRQ       stops the emulator
  427.                SCROLL LOCK            undefined
  428. NOTE--->       PAUSE/BREAK            resets the emulator
  429.  
  430.                INSERT                 INSERT
  431.                DELETE                 DELETE
  432.                HOME                   CLR/HOME
  433.                END                    undefined
  434.                PAGE UP                HELP
  435.                PAGE DOWN              UNDO
  436.                cursor keys            cursor keys
  437.  
  438.                NUM LOCK               (see the 'Joysticks' section)
  439.                keypad 0-9             keypad 0-9 (only if NUM LOCK is on)
  440.                keypad /*-+.           keypad /*-+.
  441.                keypad ENTER           keypad ENTER
  442.                undefined              keypad ()
  443.  
  444.  
  445.               Acorn (UK Keyboard)    Atari (Spanish TOS)
  446.              =====================  =====================
  447.                ¬                      ~
  448.                `                      ç
  449.                !                      ¡ (upside-down exclamation mark)
  450.                "                      ¿ (upside-down question mark)
  451.                ^                      /
  452.                [                      '
  453.                {                      "
  454.                ]                      `
  455.                }                      ^
  456.                '                      ;
  457.                @                      :
  458.                #                      \
  459.                ~                      |
  460.                ,                      ,
  461.                <                      ?
  462.                .                      .
  463.                >                      !
  464.                /                      undefined
  465.                ?                      undefined
  466.  
  467.  
  468. Pressing 'undefined' keys will not cause anything to happen, but in future they
  469. may be used for other purposes.
  470.  
  471. Note that the keys F12 and PRINT SCRN/SYSRQ will stop the emulator, and return
  472. to the desktop. The state of any running programs will be lost, so be sure to
  473. save anything important first!
  474.  
  475. Also, the PAUSE/BREAK key acts like a reset button on the emulator, and will
  476. cause a warm boot to be performed - this means that reset-proof programs will
  477. survive, but everything else will be lost.
  478.  
  479. The keyboard repeat rate/delay is controlled by the Atari operating system, and
  480. any Acorn configurations will have no effect. You should also note that the CAPS
  481. LOCK indicator on the keyboard bears no relation to whether the Atari operating
  482. system thinks CAPS LOCK is on or off, although by chance they are sometimes
  483. synchronised with each other.
  484.  
  485. The 'Keyboard' draw file in the Documents directory shows the layout of keys on
  486. a UK Acorn keyboard when using an English TOS image.
  487.  
  488.  
  489. The Mouse
  490. =========
  491. The Atari ST uses a 2 button mouse to move the pointer around the screen. The 3
  492. button Acorn mouse will work correctly, but the middle button is unused.
  493.  
  494. An alternative method for moving the mouse pointer using the keyboard, is
  495. provided by the Atari operating system. This works well in STem, and is often
  496. more convenient to use than the mouse:
  497.  
  498.   Pressing [ALT] and a cursor key will cause the pointer to move by 8 pixels in
  499.   the specified direction. To move the pointer by only 1 pixel, rather than 8,
  500.   press the [SHIFT] key as well.
  501.   [ALT] + [INSERT] acts as the left mouse button.
  502.   [ALT] + [HOME] acts as the right mouse button.
  503.  
  504.   Various combinations of these can be used to achieve all of the usual mouse
  505.   manoeuvres, such as dragging etc.
  506.  
  507.  
  508. Joysticks
  509. =========
  510. The Atari ST has hardware to support a maximum of 2 digital joysticks via
  511. keyboard ports 0 and 1. The primary joystick is usually connected to port 1,
  512. leaving port 0 for the mouse or the optional second joystick.
  513.  
  514. STem can access up to 2 analogue or digital joysticks on the host computer,
  515. providing that they are compatible with the Acorn joystick SWIs. The first and
  516. second joysticks detected will be mapped onto joystick ports 1 and 0
  517. respectively.
  518.  
  519. The code to handle the joysticks is disabled by default. To re-enable it select
  520. the 'Joysticks' option in the 'Other Hardware' section in the configuration
  521. window. Alternatively, from the command line, use the option '-joysticks'.
  522.  
  523. When the joysticks option is disabled, you can optionally use the numeric keypad
  524. to control the input to port 1 - this may be useful for those people who do not
  525. have a joystick. It can be enabled at any time by turning NUM LOCK on the
  526. numeric keypad to OFF. When NUM LOCK is off, the keys 0 to 9 will cause the
  527. following joystick events to occur:
  528.  
  529.                        Key  Joystick Event
  530.                        ===  =======================
  531.                         1   movement down and left
  532.                         2   movement down
  533.                         3   movement down and right
  534.                         4   movement left
  535.                         5   fire
  536.                         6   movement right
  537.                         7   movement up and left
  538.                         8   movement up
  539.                         9   movement up and right
  540.  
  541. When NUM LOCK is on, the numeric keypad will behave normally.
  542.  
  543.  
  544. The Parallel Port
  545. =================
  546. No parallel port emulation is yet provided, but watch this space, as it should
  547. be a relatively easy problem to sort out.
  548.  
  549.  
  550. The Serial Port
  551. ===============
  552. The Atari ST is equipped with an RS-232 serial port, but due to
  553. hardware/software limitations it has a maximum speed of 9600 baud.
  554.  
  555. STem does not yet provide emulation for the serial port, although it is one of
  556. the things I am keen to implement. One of the main problems is that programs
  557. running on the emulator may not be able to control the flow of data over the
  558. serial port as fast as is necessary. This could possibly result in slow and/or
  559. unreliable communications.
  560.  
  561.  
  562. The MIDI Ports
  563. ==============
  564. On the Atari ST there are two ports for MIDI communications. One is a MIDI IN
  565. port, and the other is a strange combination of MIDI OUT/THRU. No provision
  566. has been made in STem for these ports, since they are not a standard part of
  567. Acorn computers.
  568.  
  569. If anyone wishes to use MIDI programs, and has the necessary interface on the
  570. Acorn side, please let me know, and I will try my best to work something out.
  571. You would need to supply information about the SWIs to read/write and
  572. control the interface, and preferably be willing to do a bit of testing for
  573. me.
  574.  
  575.  
  576. The Blitter Chip
  577. ================
  578. The blitter was a custom chip built into some Atari computers for
  579. moving/combining large blocks of memory. It's main advantage was that it was
  580. very fast, and could work independently, thus freeing up the processor to get on
  581. with other tasks. It is used extensively by many programs, especially games, for
  582. implementing high speed graphics.
  583.  
  584. Obviously, Acorns do not have such a chip, but STem contains a software version
  585. which will provide a suitable level of emulation. The blitter can be enabled by
  586. selecting the 'Blitter' option in the 'Other Hardware' section of the
  587. configuration window, or using the '-blitter' command line option.
  588.  
  589.  
  590. The Real-Time Clock
  591. ===================
  592. Most versions of the Atari ST forgot the time and date when the computer was
  593. switched off - a real nuisance. Later versions incorporated a battery backed
  594. real-time clock to maintain the time and date when the power was cut.
  595.  
  596. STem provides emulation of this real-time clock, but it is disabled by default.
  597. To re-enable it, select the 'Real-time clock' option in the 'Other Hardware'
  598. section of the configuration program, or alternatively use '-clock' from the
  599. command line.
  600.  
  601. It is only possible to read the time and date from the clock. Programs which
  602. attempt to write to the chip, e.g. to alter the date, will fail. Also, not all
  603. TOS versions know how to access the clock, because they were written before the
  604. clock existed.
  605.  
  606.  
  607. Graphics Systems
  608. ================
  609. The Atari ST has the following graphics capabilities:
  610.  
  611.                Mode  Resolution      Colours      V. Freq.
  612.                ====  ==========  ===============  ========
  613.                 0     320x200    16 (colour)      50/60Hz
  614.                 1     640x200    4  (colour)      50/60Hz
  615.                 2     640x400    2  (monochrome)  70Hz
  616.  
  617. All colours can be selected from a palette of 512 colours, with the exception of
  618. monochrome mode, where obviously only black and white are available.
  619.  
  620. Some programs require a particular graphics mode to be available. It is up to
  621. you to decide which mode each program requires. Usually, programs are able to
  622. switch between each of the colour modes automatically, but cannot switch between
  623. colour and monochrome (the original computer required a separate monitor for
  624. monochrome because of it's different vertical frequency).
  625.  
  626. In order to be able to use any of these modes, you must have a screen resolution
  627. on the host computer which is at least as large as that specified above. Where
  628. an exact size match is not found, STem will try to use a larger resolution, and
  629. the picture will be centred on the screen - this may not be perfect, so you
  630. might need to add the modes to your monitor definition file.
  631.  
  632. The vertical frequencies listed above were built-in features of the Atari ST
  633. hardware, and could not be modified. STem will always select Acorn modes with
  634. the highest vertical frequency, on the assumption that this will provide the
  635. most comfortable display.
  636.  
  637. The screen will be updated continuously by STem, at a rate proportional to the
  638. number of processor instructions which are emulated per second. The update is
  639. also proportional to the number of pixels in the current graphics mode - so
  640. higher resolution screens (e.g. mode 2) will take longer to update than lower
  641. resolution screens (e.g. mode 0).
  642.  
  643. If a program running on the emulator attempts to change the graphics mode to one
  644. where a suitable match is not available on the host computer, then no mode
  645. change will occur. However, the program is unlikely to notice this, and will
  646. continue regardless, resulting in garbage being displayed on the screen.
  647.  
  648. In the Atari STe (where the 'e' stands for 'enhanced'), the graphics
  649. capabilities improved slightly. All graphics modes remain the same as above,
  650. except that the colours can be chosen from a palette of 4096, rather than the
  651. normal 512. Also, there is greater flexibility over where the screen data is
  652. stored in memory.
  653.  
  654. STem only provides a small amount of STe graphics emulation, and this can be
  655. enabled by choosing 'STe Monochrome' or 'STe Colour' in the 'Graphics Hardware'
  656. section of the configuration window. Alternatively, the options '-emono' and
  657. '-ecolour' can be used from the command line.
  658.  
  659. Some programs will only work with ST graphics or STe graphics, but not both -
  660. this is a problem with the real computer, not just the emulator. It is up to you
  661. to decide which graphics system each program needs.
  662.  
  663.  
  664. YM2149 Sound Chip
  665. =================
  666. The Yamaha 2149 sound chip was a standard part of all Atari STs, so there are a
  667. vast number of programs which will work with it. STem provides just enough
  668. emulation of this chip to enable most programs to recognise it's presence, and
  669. to attempt to use it. However, it is not yet able to playback any sounds.
  670.  
  671. The sound chip also has a number of other important uses, namely in controlling
  672. parts of the floppy disk system. These are essential, and as such, have been
  673. emulated in their entirety.
  674.  
  675.  
  676. DMA Playback
  677. ============
  678. The YM2149 sound chip was not particularly suitable for playback of high quality
  679. samples, so the Atari STe provided an alternative in the form of DMA sound
  680. production.
  681.  
  682. STem can only emulate the bare minimum of the DMA playback system - in fact it
  683. is just enough to enable the Atari STe operating system to be booted. Programs
  684. which attempt to use this hardware may fail, and will certainly not be able to
  685. produce any sound.
  686.  
  687. Emulation of the DMA playback hardware can be enabled by selecting 'DMA
  688. Playback' in the 'Sound' section of the configuration program. Alternatively,
  689. use the '-dma' option from the command line (by default DMA playback is
  690. disabled).
  691.  
  692. Note: this option *must* be enabled when using TOS versions 1.06, 1.62 or 2.05.
  693. Failure to do so will cause the operating system to crash during the boot
  694. sequence. The 'DMA Playback' option has no adverse effects on any other versions
  695. of TOS, although there may be certain pieces of software which require it to be
  696. enabled.
  697.  
  698.  
  699. MFP Timers
  700. ==========
  701. The MFP chip contains a number of timers which are essential for the correct
  702. functioning of the operating system. However, for a variety of reasons it is not
  703. possible for these timers to 'tick' at the correct rate.
  704.  
  705. Timers A, B and D tick at pre-programmed intervals, according to how many
  706. instructions have been executed so far by the emulated processor. The internal
  707. settings of these timers are largely ignored.
  708.  
  709. Timer C, however, is of particular importance. It controls the 200Hz system
  710. clock, which is used by the OS and many other programs for synchronisation
  711. purposes. In distinction to the other timers, this one does take account of it's
  712. internal settings, and does attempt to measure the real passing of time. To
  713. avoid overwhelming the emulator with interrupts it is necessary to slow down the
  714. timer by a factor of 128 - hence instead of 200Hz, it operates at 1.56Hz.
  715.  
  716. The scaling factor for Timer C has a number of side-effects. For instance,
  717. benchmark programs which rely on this timer will report exceptionally good
  718. performance results - in most cases it is sufficient to divide the results by
  719. 128 to get the correct figures. It is also the reason for TOS 2.06 taking so
  720. long to boot.
  721.  
  722.  
  723.  
  724. I can be contacted at:
  725.   email:  sce196@soton.ac.uk
  726.   web:    http://www.soton.ac.uk/~sce196/stem/
  727.  
  728.  
  729.  
  730. !STem is © Copyright Samuel Ellis, 1998.
  731.